package com.sh.data.engine.domain.dataquality.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sh.data.engine.domain.base.model.PageResult;
import com.sh.data.engine.domain.dataquality.model.domain.DataQualityJobDomain;
import com.sh.data.engine.domain.dataquality.model.domain.DataQualityJobRuleDetailDomain;
import com.sh.data.engine.domain.dataquality.model.domain.DataqualityJobMonitorDomain;
import com.sh.data.engine.domain.dataquality.model.param.DataQualityTaskParam;
import com.sh.data.engine.repository.dao.dataquality.entity.DataQualityJobEntity;

/**
 * @author tinglan.ys
 * @description:
 * @date 2022/2/15 下午6:09
 */
public interface DataQualityJobService extends IService<DataQualityJobEntity> {

    /**
     * @description : 获取任务列表
     * @author : tinglan.ys
     * @date : 2022/2/18
     */
    IPage<DataQualityJobDomain> getJobs(DataQualityTaskParam request, Long projectId);

    /**
     * @description : 获取任务规则详情
     * @author : tinglan.ys
     * @date : 2022/2/18
     */
    PageResult<DataQualityJobRuleDetailDomain> getJobRuleDetails(
        Long jobId, Integer pageNum, Integer pageSize);

    /**
     * @description : 获取任务规则所有字段详情-监控结果列表页
     * @author : tinglan.ys
     * @date : 2022/2/18
     */
    DataqualityJobMonitorDomain getJobRuleFields(Long jobId, Integer pageNum, Integer pageSize);
}
